package edu.tyut.game.dao.user;

import edu.tyut.game.model.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

public interface UserDao {
    /**
     * 新增一条用户数据
     *
     * @param user 返回
     */
    @Insert("insert into tb_user(username, password, gender, email) values(#{username}, #{password}, #{gender}, #{email})")
    void insert(User user);

    /**
     * 更新用户密码
     *
     * @param username 用户名
     * @param password 密码
     */
    @Update("update tb_user set password = #{password} where username = #{username}")
    void update(String username, String password);

    /**
     * 根据用户名返回用户对象
     *
     * @param username 用户名
     * @return 用户实体对象
     */
    @Select("select * from tb_user where username = #{username}")
    User findByUserName(@Param("username") String username);

    @Update("""
            update tb_user
            set avatar_path = #{path}
            where id = #{uid}""")
    int updateHeadIcon(int uid, String path);
}
